// 验证单个字段
// rule的格式为：{required: true, message: '不能为空', trigger: 'blur' ,type: 'email' ,reg}

import { defaultRules } from './defaultRules'

/**
 * 验证单个字段
 * @param {Object} rule 规则
 * @param {String} value 输入的值
 * @returns {Boolean|String} 验证结果
 */
export default function validateField(inutValue, inputRule) {
    const value = inutValue.trim()
    const rule = inputRule

    // 验证是否为空
    if (rule.required) {
        if (value === '') {
            return rule.message || '不能为空'
        } else {
            return ''
        }
    }
    // 验证默认的规则
    if (rule.type) {
        if (!defaultRules[rule.type].reg.test(value)) {
            return defaultRules[rule.type].message
        } else {
            return ''
        }
    }
    // 验证正则
    if (rule.reg) {
        if (!rule.reg.test(value)) {
            return rule.message || '格式不正确'
        } else {
            return ''
        }
    }
    // 没有任何规则
    return new Error('没有任何规则')
}       